#include <memory>
#include <unistd.h>

#include "UdpServer.hpp"
#include "Log.hpp"
#include "Dict.hpp"

using namespace log_ns;

//./server 8888
int main(int argc, char *argv[])
{
    if (argc != 2)
    {
        std::cerr << "Usage " << argv[0] << " Server-port" << std::endl;
        exit(0);
    }
    uint16_t port = std::stoi(argv[1]);
    EnableScreen();
    Dict dict("./dict.txt");
    func_t translate = std::bind(&Dict::Translate, &dict, std::placeholders::_1);
    
    std::unique_ptr<UdpServer> usvr = std::make_unique<UdpServer>(translate, port);
    usvr->InitServer();
    usvr->Start();
    return 0;
}